from django.conf import settings
from django.core.files.storage import Storage


class FastDFSStorage(Storage):
    """自定义文件储存类"""

    def __init__(self, fdfs_base_url=None):
        """文件储存初始化对象"""
        # if not fdfs_base_url:
        #     self.fdfs_base_url = settings.FDFS_BASE_URL
        # self.fdfs_base_url = fdfs_base_url
        self.fdfs_base_url = fdfs_base_url or settings.FDFS_BASE_URL

    def _open(self, name, mode='rb'):
        """
        用于打开文件
        :param name:打开的文件名
        :param mode:打开的文件方式
        :return:None
        """
        # 打开文件时使用的，此时不需要，而文档告诉说明必须实现，所以pass
        pass

    def _save(self, name, content):
        """
        用于保存文件
        :param name:要保存的文件名
        :param content:要保存的文件内容
        :return:
        """
        pass

    def url(self, name):
        """返回文件name所指定的全路径"""
        return self.fdfs_base_url + name
